package com.xyz.lockAndList;

import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

class Phone{
    private Lock lock=new ReentrantLock();
    private Condition condition=lock.newCondition();

    public static synchronized void sendEmail(){
        try { TimeUnit.SECONDS.sleep(4); } catch (InterruptedException e) { e.printStackTrace(); }
        System.out.println("-------sendEmail");

    }
    public static synchronized void sendSMS(){
        System.out.println("-------sendSMS");
    }
    public void hello(){
        System.out.println("-------hello");
    }
}

/**
 * @author 肖咉卓
 *
 * 题目：多线程8锁
 * 1.标准访问，请问先打印邮件还是短信？   邮件
 * 2.邮件方法暂停4秒钟，请问先打印邮件还是短信？   邮件
 * 3.新增一个普通（没锁）方法hello()，请问先打印邮件还是hello()?   hello,因为hello没有所而邮件还要等4秒钟
 * 4.两部手机，请问先打印邮件还是短信？  短信
 * 5.两个静态同步方法，同一部手机，请问先打印邮件还是手机？
 * 6.两个静态同步方法，2部手机，请问先打印邮件还是手机？
 * 7.一个普通同步方法，一个静态同步方法,1部手机，请问先打印邮件还是手机？
 * 8.一个普通同步方法，一个静态同步方法,2部手机，请问先打印邮件还是手机？
 */
public class Lock8 {
    public static void main(String[] args) {
        Phone phone =new Phone();
        Phone phone2 =new Phone();

        new Thread(() ->{Phone.sendEmail();},"A").start();
        try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); }
        new Thread(() ->{Phone.sendSMS();},"B").start();
    }

}
